﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace Agencia.Models
{
    public class AgenciaBD: DbContext
    {
        public DbSet<Boleta> Boletas { get; set; }
        public DbSet<Cliente> Clientes { get; set; }
        public DbSet<Reservacion> Reservaciones { get; set; }
        public DbSet<ListaEspera> Lista_Espera { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Boleta>().ToTable("Boleta");
            modelBuilder.Entity<Cliente>().ToTable("Cliente");
            modelBuilder.Entity<Reservacion>().ToTable("Reservacion");
            modelBuilder.Entity<ListaEspera>().ToTable("Lista_Espera");

            modelBuilder.Entity<Cliente>().HasKey(c => c.Nombre_Usuario);

            modelBuilder.Entity<Boleta>().HasRequired(b => b.Cliente)
                                         .WithMany(c => c.Boletas)
                                         .HasForeignKey(b => b.ClienteId)
                                         .WillCascadeOnDelete(false);

            modelBuilder.Entity<Reservacion>().HasRequired(r => r.Cliente)
                                              .WithMany(c => c.Reservaciones)
                                              .HasForeignKey(r => r.ClienteId)
                                              .WillCascadeOnDelete(false);

            modelBuilder.Entity<ListaEspera>().HasRequired(l => l.Cliente)
                                              .WithMany(c => c.ListaEspera)
                                              .HasForeignKey(l => l.ClienteId)
                                              .WillCascadeOnDelete(false);

        }
    }
}